﻿//----------------------------------------------------------------
// Desc: 资源管理器
// Edit: ShowLong, http://blog.csdn.net/showlong
//
// Date Created: 2012-04-04
//
// Update Date : 
//
// Copyright (c) Fuel4D (http://www.fuel4d.com), All rights reserved.
//
//----------------------------------------------------------------
#pragma once


#include "IFRes_Texture.h"
#include "IFRes_Sprite.h"
#include "IFRes_Model.h"
#include "IFRes_ModelConfig.h"


class IFResFactory;
class IFResMgr;


//----------------------------------------------------------------
// 资源库（用来控制资源加载与释放自定义处理）
//----------------------------------------------------------------
class IFResFactory : IFMemObject
{
public:
};


//----------------------------------------------------------------
// 资源管理器
//----------------------------------------------------------------
class IFResMgr : public IFService
{
protected:
    IFResMgr()
        :IFService(0)
    {}

public:
    // 绑定资源处理器
    virtual void SetResFactory(IFResFactory* p) = 0;
    // 取得贴图资源管理器
    virtual IFTexture* GetTexture() = 0;
    // 取得精灵资源管理器
    virtual IFSprite* GetSprite() = 0;
    // 取得模型资源管理器
    virtual IFModel* GetModel() = 0;
};


#include "IFResMgr_inl.h"